Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Knowledge Base
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • Ozone - J-Link Debugger
  • Fault Analysis
  • Technology

Fault analysis

Where – and why- did the system crash? Automatically detect exceptions and find useful information regarding the crash. Analyze each fault with these debugging features.

Contact us
Downloads
SEGGER Ozone
  1. 1.Exception Detection & Vector Catches
  2. 2.Exception Reasons: No Need for Manual Gathering
  3. 3.Exception Analysis with Regular Debug Information Windows
  4. 4.Ozone Fault Analysis Media

Firmware crashes – they’re a fact of embedded application development. Illegal memory writes, access of unpowered peripherals, execution of invalid instructions, division by zero… Whatever the execution, it ends up in an exception handler.

So, what to do?

Ozone enables automatic fault detection, but it does more than that. There are further tools and information for analysis of why a crash happened, what could have caused it and what happened before.

Exception Detection & Vector Catches

Ozone makes use of the Vector Catches on Arm devices.

ARM devices can break execution on fetch of an exception vector just before the exception handler is executed. This feature enables automatic breaking on exception without the use of hardware breakpoints.

With a vector catch on HardFault, a system crash can be immediately detected and further analyzed in the debugger.

In Ozone, vector catches can be enabled or disabled in the Breakpoints Window.

ozone exception vector catch

Exception Reasons: No Need for Manual Gathering

ozone exception reason

When a system crashes, Arm Cortex-M microcontrollers will provide information about the crash in different registers. After all, gathering information manually to find the reason for a crash is cumbersome.

When Ozone detects a fault, it automatically analyzes the related registers and presents a popup with the reason for the crash and further information, such as where the crash happened or which address could not be accessed.

For more information on faults on Cortex-M, refer to: Cortex-M Faults.

 

Exception Analysis with Regular Debug Information Windows

Now you’ve found the reason for the crash, it’s time to identify where it happened.

Ozone provides regular debug information in addition to the fault status registers. Even in the case of an exception. On the Call Stack Window, you can see where the exception has been raised. With the Registers Window and the Locals Window, you can inspect the faulty state.

Some exceptions might be raised after the actual fault happened, usually a few instructions later. In these cases, Ozone's instruction trace can help to identify which instructions have been executed before.

For technical details on fault analysis with Ozone, refer to: Analyzing Cortex-M Faults with Ozone.

ozone exception callstack locals

Ozone Fault Analysis Media

Introduction to Cortex M Faults

Introduction to Cortex M Faults

Cortex-M Fault Analysis

Cortex-M Fault Analysis

Headquarters

SEGGER Microcontroller GmbH

Ecolab-Allee 5
40789 Monheim am Rhein, Germany
info@segger.com
Tel.: +49-2173-99312-0
Fax: +49-2173-99312-28

Locations

USA: SEGGER Microcontroller Systems LLC

Boston area
101 Suffolk Lane
Gardner, MA 01440, USA
us-east@segger.com
Tel.: +1-978-874-0299
Fax: +1-978-874-0599

Silicon Valley
Milpitas, CA 95035, USA
us-west@segger.com
Tel.: +1-408-767-4068

China: SEGGER Microcontroller China Co., Ltd.

Room 218, Block A, Dahongqiaoguoji
No. 133 Xiulian Road
Minhang District, Shanghai 201199, China
china@segger.com
Tel.: +86-133-619-907-60

ISO 9001 certified

ISO 9001

30+ years of experience

First-class embedded software tools since 1992
  • Imprint
  • Disclaimer
  • Privacy Policy
© 2025 SEGGER - All rights reserved.